A device may be able to connect to a number of different networks, thereby allowing access to the networks for a user of the device. Such networks may be Local Area Networks (LANs) or Wide Area Networks (WANs). The networks may be wired or wireless. The networks may allow a device to communicate with other networks such as the Internet. Where a network is a wireless network, a device can communicate with the network via a wireless connection, such as a WiFi connection. The range over which a wireless connection (such as a WiFi connection) can be used is limited (e.g. to about 10-100 m). Therefore, different wireless networks may be available for communication with the device at different times, depending upon the location of the device. Therefore, if the device is a mobile device then, as the device is moved, the wireless networks which are within range and available for communication with the device will change.
A network which is available for communicating with a device (or “user terminal”) may be owned by somebody other than the user of the device. In this case the device may be allowed to connect to the network only if the user of the device engages in an authentication process with the owner of the network. For example, connections to WiFi networks may be provided in public places such as shopping centers, hotels, train stations, airports or coffee shops, and access to the WiFi networks may be provided to a device following an authentication process with the owner of the WiFi networks. However, the steps required in the authentication process may discourage some users from accessing the WiFi network because it often involves time-consuming sign up procedures.
“Skype Access” is a system which addresses some of the problems associated with the authentication process described above for allowing access to a WiFi network. A user of a device may be part of a communication system (such as the Skype™ communication system), and as such may have pre-authorization, in the communication system. Under a system such as the “Skype. Access” system, the pre-authorization of a user in the communication system can be used to allow access to a WiFi network where the owner of the WiFi network has agreed to acknowledge the pre-authorization provided by the communication system.
An authorization system such as the “Skype Access” system requires co-operation between the operator of the communication system and the operator of the WiFi network in order to permit access to the WiFi network using the pre-authorization of the user in the communication system. The communication system maintains a list of a set of networks (“supported networks”) which can be used in accordance with the authorization system (e.g. “Skype Access”). This list is stored on a server (or on multiple servers) of the communication system. The list may be a list of identifiers, such as Service Set Identifiers (SSIDs), of the set of networks. Currently the Skype Access system can be used with hundreds of thousands of WiFi hotspots worldwide, but this number is likely to increase in the future.
In order for a device to determine whether a particular network can be accessed by a particular user, the device can query a server of the communication system, e.g. using the Domain Name System (DNS) protocol, and the server will check whether the particular network is in the list of supported networks to thereby check whether the particular network is supported or not. A network is a “supported network” if a user can use pre-authorization in the communication system in order to access the network. However, this check can only be performed after the device has already connected to a network (which may, or may not, be supported for use with the authorization system of the communication system) that allows DNS queries to be sent to the servers of the communication system. This presents a problem because the user will only find out that a particular network is not supported for use with the authorization system of the communication system after having connected to the particular network. This can be inconvenient for the user and may waste time for the user.